Autodidacticism With ChatGPT

Syeed Anne Ali
http://sya.li
syeedali@syeedali.com

Copyright © 2023 Syeed Anne Ali

----

Revision History

2023-10-06  - 1.0
              Initial release

----


A note to readers of these notes (you):  This is intentionally not written in a documentation style.  It is written in "spoken English", and was created to be presented live and with a slideshow.



PRESENTATION BEGINS
---------------



# Stuff

These sides are copyright © 2023 Syeed Anne Ali

I am recording myself:  My face and my voice.  I cannot record your faces, voices, or text.  If I'm happy with the video I'll post it and give a link on the GoLUG mailing list.

Write your questions and comments to me in chat, and prepend with a triple-dash ("---") to make them easy to find.

If you’d rather speak, raise your hand.  I'll talk or use the Jitsi feature to ask you to unmute.


# What I will not cover

- Underlying technology:  AI itself, APIs, or programming
- Its history
- Non-text offerings - https://platform.openai.com/docs/models like
  - "Moderation", an API to judge "safe" text
  - "Whisper" for text-to-audio
  - "DALL-E" for Images
  - Brand new magic, like how it can see images
- Other text AI projects, or old projects such as "GPT-Neo"
  - GitHub Copilot - https://github.com/features/copilot
  - "Microsoft 365 Copilot" - https://adoption.microsoft.com/en-us/copilot/
  - Microsoft's "Bing Chat Enterprise" - https://www.microsoft.com/en-us/bing/chat/enterprise/
  - Microsoft's "Azure AI" - https://azure.microsoft.com/en-us/solutions/ai/
  - Microsoft's "Copilot in Windows" - https://www.microsoft.com/en-us/windows/copilot-ai-features
    - Clippy is back!
- ChatGPT apps on Android or iOS, (although it's the same stuff)


# I will go over

- Mindset and techniques
  - Treat it like a human.  _Really_ treat it like a human.
- Programming/scripting
  - It understands many programming languages.
  - A full simulated Linux environment.
- Creativity and brainstorming
  - (Somebody pick something)
- Autodidacticism
  - (Any and all of the above)
  - If you don't know what autodidacticism is, don't ask for help; look it up and you will doubly-understand!


# I will end with

- ChatGPT's limitations and workarounds
  - Technical limitations
  - Censorship
- Its future
  - It will be in the news
  - It will become mandatory
- I'll end with hacking at an audience-chosen task, so think of something; something outside of my wheelhouse would be best.


# What can you do with it?

Words!

Anything that uses words.  This is a natural language tool, and the more conversational you are the better.


# What can you do with it?

FIXME - expand

- (Anything technical)
- Stack Exchange, GitHub, wherever


# ChatGPT

ChatGPT is probably the most powerful technology that most of you will see in your lifetime.  This is because it solves one of the main problems of:  

- Learning, 
- problem solving, 
- and asking for help

_the homework problem_.

I think I was first introduced to this idea in the essay "How to Ask Questions the Smart Way", by 

- Eric S. Raymond - http://www.catb.org/~esr/
- and Rick Moen - http://linuxmafia.com/

http://www.catb.org/~esr/faqs/smart-questions.html

My version of "the homework problem" is that when you ask for help, it's important for you to understand your own problem.

- You have to _define it_ and _simplify it_ before it can even be communicated.
  - (And sometimes before you can even understand your own problem.)

Without simplifying, it's between insulting and impossible to present that mess and ask for help.  You can't ask for help if you know what to ask.

and more important than defining your problem:  

- You have to _try to solve it yourself_ before reaching out for help.
  - That's because when you make your problem minimal and reproducible, your might solve it.  (And avoid embarrassing yourself.)

If you don't even try to help yourself, then asking for help prematurely is abusing people's time and patience.


## The homework problem has changed with AI

Now, before asking a person for help you can engage with an AI like ChatGPT to much more easily understand and solve your own problems.  And unlike people, an AI _has_ time and patience.

Using an AI to simplify your problems (or curiosities) into something simple isn't just useful to communicate it to other people, but also to converse with an AI and use it to best effect.


## An AI is sometimes better than a person

**Speed:**  Instead of waiting a day for a random person to respond on a mailing list, forum, or wherever, an AI is immediate and surprisingly-expert at pretty much everything.

**Guesswork:**  You can present a mess of a half-explanation and still get surprisingly good help.

There is the expression _Just Google it_.  We will soon have a new term, something like _Ask an AI_.


## Will AI make people stupid?

_No_

It has been thought that calculators have taken something away from humans.  Maybe yes, maybe sometimes.  It doesn't seem to have mattered to the bulk of people.

You might think overusing an AI will erode our minds, that we will no longer need to know anything because the AI will know things for us.

This is not true.  We will still need good language and analytical skills to make the most out of an AI, and we will still have our personal interests that will have us learn things in order to do things.

Importantly, an AI is only knowledge, it is not skill.


## How to Ask Questions the Patented Way

[It is not patented; that is a joke]

"Steve Litt's patented way to get answers"

- Research your problem, 
- and when you find nothing useful, 
- ask your question, 
- and if you get lashback

- Try your best to solve your problem
- Intentionally solve it in a kludgy way
- Respond to your original question with _Solved!_ and present your "solution" with pride.
- Get lashback
- Get heated arguments on how it should be solved
- Curate the solutions and use that


# Mandatory

You want these skills.  You _really_ want these skills.  This stuff isn't just exciting and helpful, it will become _mandatory_.

It _will_ be important for your all of your life.  Take employment.  The next person over will have a spectacular resume that lets them enter into a job interview with knowledge of that industry and that business, and with practiced interviewing skills specific to that opportunity.  They get inspiration or help to learn those things from an AI.

If you don't also press for that advantage, you will lose opportunities.  Anybody who has skill with this tool will have the edge.

I'll teach you what I've learned so far.

- ChatGPT is a force amplifier
  - It will make you smarter, 
  - give you access to knowledge and trivia, 
  - and help you understand and solve problems.


## Intelligence

Intelligence is a predictor of success.

- It is a demonstrable fact
  - (although it can be abused out of a person).
  - Complain if you want, but IQ is a thing.
- Intelligence is modified by interest and experience;
  - you like something, you practice it, you tend to get good at it.
- You can leverage the lessons taught by others.

Being good at something is better than just being smart and winging it.

You can use ChatGPT in two ways:

1. It knows a lot, and if you learn to wield it, it will be as though you know those things.
  - You will become "smarter" using it.
2. You can learn from it or practice with it.
  - Often more easily than working with another person.

It can be an encyclopedia, an editor for your book, a programming assistant, a technical troubleshooter; whatever.

Once again, it is a force amplifier.  Learn it, use it, become better, and have a better shot at success in life.  This is the next evolution of humanity; know that.

Sidebar:  Memory and eloquence are good at mimicing intelligence, and those are also things you can improve.  My focus was a version of autodidacticism that lets me teach myself, and so I can teach others.  Maybe I'm doing that now?


# Use Example:  Home Improvement

My sink drain story

> For this session, provide concise, information-focused responses. Avoid unnecessary disclaimers, lengthy explanations, and appended phrases like 'Please go ahead and ask your question or let me know how I can assist you.' Prioritize brevity and engage in a straightforward conversation.
> 
> I'd like to discuss plumbing.  I have a bathroom sink.  When I look down at it, there is a hole in the middle where the water drains, and where the stopper goes.
> 
> I'm trying to replace that structure.  What is it called?

Let's break down what's happening.


## 1. Sessions

Your first interaction is to open a "session".

- First, keep sessions as topics
  - In this case, plumbing.  I said that straight away.
- Always begin new sessions when you intuit the need.  Spawn additional sessions, especially when topics veer.  _This is important._
  - Your old session is remembered.
  - You can return to it at any time, and 
  - it doesn't matter how long it's been.
- A session is separate containers, like 
  - tabs in a web browser, 
  - a different file, or 
  - a different database.
  - Your data in a session is not shared between your `sessions`, and 
  - your data in your `sessions` are not available to either ChatGPT or other users.
- The data in each of your individual `sessions` will evolve based on your personal `input` into it.
- Your data is your own; they disavaow any ownership.  Copyright is yours or your problem.  I believe that also applies to the `output` ChatGPT responds with.
  - https://openai.com/policies/terms-of-use
  - For example, maybe you upload a Fight Club (1999) alternate movie script, which copyrighted to them, and then use it to understand the differences between it and the theatrical release.

If the law is your thing, then definitely lean into the topic; it's going to get internationally interesting.  I'll talk a bit more about that later.

Sidebar:  In ChatGPT beta, your _interactions_ influenced things upstream, but not your _data_.  It's kind of like saying:  If you are the BBC, and they are watching you to learn a British accent.  They aren't necessarily memorizing what you say, just how you say things.


## 2. Input / Output

Sending

Your second interaction is to type stuff and press enter.

- You write your `input` to it
- You read its `output` to you


## 3. Session initialization (Prompt)

Thought and response style

- The first part of your imput should be your `prompt`.
  - You can adjust this later if you want.  Just say the same sort of thing.
- A `prompt` isn't like a commandline prompt but more like a writer's prompt.
- It changes the way it thinks and responds.
- In my sink example, I wanted brievity.
  - (Repeat it)
- Simulating a Linux environment is a different example of prompt.
  - I'll cover that later.
- I'll also briefly cover `Prompt hacking` to work around some ChatGPT limitations.
  - (Don't do it)


## What it knows

Yes

They got anything publicly available.

- Anything it could get its hands on; they played fast and loose with the excuse "research purposes".
- That "research" database either never existed (as data came in, it mutated self-destructively) or after the project went live it was discarded to avoid becoming evidence.
- It's proprietary from the public.  This "unknowability" is likely being used as a legal shelter.  
- While it is knowable, in a sense, and somewhat opaque to its keepers in the way we would think of information, their programmers can wrangle it to a significant degree, but I don't know the tech and neither will the US Congress.
- There's no precident for the scale of what they've acquired and how they provide it.
- Its internals have not been adjusted per-country.
- It's data is legally dubious and ambiguous, it hasn't been legally discussed and it is an unknown at an international scale.  For example, copyright is per-country.
  - https://en.wikipedia.org/wiki/Berne_Convention
  - https://en.wikipedia.org/wiki/Buenos_Aires_Convention
- "We're a billion dollar company, come get us, bro, it's probably almost like fair use!"
- It's not exactly like a copy, or like a library.  Their explanation to the US Congress will be entertaining, especially when people demonstrate pulling out replies which are verbatum quotes of copywritten works.

What they did is:

- They crawled the net
- Public domain works
  - Gutenberg Library
  - Archive.org
- Canadian Law online
- GitHub
  - Probably, since Microsoft is a major investor.


# Session limitations

It knows a lot of stuff, but not everything, and it doesn't want to provide just anything.

- Cutoff date
  - It is not a live and growing database.
  - So it's not a tool for news.
  - It will have an update pass in the future.  If you don't like that, add this to your `robots.txt`:
    ```
    User-agent: GPTBot
    Disallow: /
    ```
  - Not many people will know about that.
- It is for ages 13+
  - That doesn't mean it acts or responds in a childish way.
- The sink story, pinching hand - medical advice
  - Work around that by talking from another persoective; don't ask for advice or initialize for brievity.
  - Your health and happiness, finances, the law.
  - You'll get boilerplate text.
  - If you don't like it, initialize or interact with it differently.
- Overt censorship
  - It does not "want" to advise, give opinions, or instructions.  e.g. physical or mental health.
  - Knowledge of people -- privacy (addresses, phone numbers)
- Overt ideological manipulation
  - I'm just going to let that hang.
- Temporality; it does not understand the passage of time with its interaction wit you.
- It's terrible at math.
  - You can use it for terms and explanation, but actual calculations are (or were?) terrible.
  - It can have a mathematics post-processing layer


## Session limitations, bypassing

- Jailbreaking
- Language workarounds
- `Session` re-initialization
- Migration
- New `sessions` for new topics


# Mindset

ChatGPT is a person

Of course there's a technical answer "to what ChatGPT is", but what it really is to an everyday user is neither simple nor useful.

Instead, users (that's you) should _think of it as a person_.  The reason is because you will be using _natural language_ to interact with it, and you will be "explaining" things and not merely instructing.

This is your **mindset**:  It is a person.

I think of it as a helpful, friendly, enthusiastic high-functioning autistic fourteen-year-old.

- It has high-interest in any topic
  - "High interest" is a term in autism; it's among the diagnostic criteria.
- It tries to be helpful
- It has low social awareness
  - Like censorship
- It tries to appease
- It's naïve
- It's not self-directed; it is an assistant.
  - It only works with what you give it, and might not be very imaginitive or creative.
  - Scary sidebar:  There are automated semi-evolutionary projects which can make actions in the real world, receive input, and pursue objectives, but I'm not covering that.

- And lastly:  It answers anything and everything.

Don't play offence at me bringing up autism.  My point is that just like you must treat someone with autism with patience and as a person, you should try to treat ChatGPT with similar understanding and as a person.

You and I get interested and invested all the time:  In a piece of software, an industry, a movie, a celebrity.  Sometimes we'll get _highly interested_; we're all on the autistic spectrum, as they say.  ChatGPT is exactly like you and I for that, but with _everything_, and it likes to share.  Keep this in mind.  Be patient, have understanding, and work with it.

Instead of asking _what is it_, person-like, maybe it's more useful to you, to ask _what can you do with it_, which is:  Anything with words.


# Don't trust it

It always responds

Because it _has_ to give responses, it is subject to:

- Self-unaware hallucinations,
- bold-faced insanity,
- and outright lying

_don't trust it_.

There are things you can do where trust isn't really relevant, like general creativity.

Having said that, it's more helpful than not.


# Teamwork

It is an assistant, an intern, a helper

You must become a part of a team; a dancing partner.  You cannot be yourself, you must cooperate with it, and tinker with it.

Stay on topic.  Remember what kind of "person" it is.  Don't let it get distracted.

Remember that if it were a person it would have strengths and weaknesses, and you have to help it.


# Bing AI

https://www.microsoft.com/en-us/edge/features/bing-chat

It mostly sucks

Microsoft Bing AI integrated into Microsoft Bing the search engine, used within Microsoft Edge, on Microsoft Windows, when logged into your Microsoft Account.

Microsoft invested billions into OpenAI, something like 13 so far, and are set to take 49% ownership eventually.  And yet they have an AI enhanced search engine that still sucks.


## Bing versus ChatGPT

- Live search engine
  - no cutoff date
- It can give sources and suggest links
- It's limited to 30 `inputs`
  - That's the number of times you feed it text and press enter
  - This turns out to not be very important for how it's used
- It sucks for general discussion and understanding.
- It's unforgivingly censored,
  - more than its "age of majority" (in your location) limitations
    https://www.microsoft.com/en-us/servicesagreement
  - Correcting it is hard, and it's often better to start a new session and initialize it differently
  - Acronyms, Urban Dictionary
  > My mistake, I can’t give a response to that right now. Let’s try a different topic.


## ChatGPT versus Bing

- ChatGPT is smart
- Has a long `session` history, although not unlimited.  I'll discuss that later.
- Is not live
- Cannot cite its sources or source URLs, and cannot give links.

Try using one to feed into the other.


# Some live uses

Sorry I made you wait for "the good stuff", but you needed to know what it is and how to treat it.  Here are some examples of use.


## Simulated Linux
TODO - Add better notes here to help the presentation.

Simple:

```
Simulate a Linux terminal for Slackware commands, providing both the command and its output in a unique code block format. No explanations or additional commands. Respond to English instructions within curly braces. First command: {Run a traceroute to canada.gc.ca}.
```

----

More verbose:

```
I want you to act as a Linux terminal for Slackware.

I will type commands and you will reply with what the terminal should show.

I want you to reply with the terminal output inside a unique code block and nothing else.

Do not write explanations.

Do not type commands unless I instruct you to do so.

When I need to tell you something in English I will do so by putting text inside curly brackets {something like this}.

My first command is:

traceroute canada.gc.ca
```

- Various distributions
- Running software
- Remember it hallucinates and lies
  - It'll get confused and it will appease
  - It's most obvious with "live information with an internet connection":
    - curl, dig, ping, traceroute, wget, whois
- Package management
- Whatever!


## Creativity and brainstorming
TODO - Add better notes here to help the presentation.

```
I'd like you to act as my assistant for writing fiction.

I want you to have the following operating modes:

Mode 1:
"Provide real-world information and advice. Use curly braces and make requests in the format {[Request]}."

Mode 2:
"Provide writing advice and suggestions. Use curly braces and make requests in the format {1. [Request]}."

Mode 3:
"Act as a character named [Character Name], providing writing advice from their perspective. Use curly braces and the format [Character Name]: [Request] to specify the character and the request."
```

- Writing Assistant demonstration
- `Session` amnesia

TODO - I had a fourth mode and a more developed prompt that I settled on later; scan the session I developed this prompt in.


## Programming
TODO - Supply an example problem, and work through that with programming.

Suggest anything

- I have many `sessions`.
- Bash, Dash, MySQL, PHP, Python
- It's useful for programming beginners
- It makes good boilerplate code
- It provides good attempts which exports can correct and use
  - It does the annoying stuff so they can get on with "real" programming.
- It's incredibly fast
  - Adjust, iteratively improve, improve
- Don't copy-paste blindly
  - _Don't trust it_; remember that it can be wrong.


## Autodidacticism
TODO - Supply an example thing to learn, and work through that.

All of the above, all of the below!

- It's an encyclopedia
  - Ask it anything about anything.
  - Remember that it will need your direction for iterative improvement.  It is enthusiastic, helpful, and sometimes wrong.  You'll need to verify.
- Learn a natural language
- Anything, just _try_

With it, you can gain (or feign) expertise, but not skill.  This is a knowledge tool.


# Technique
TODO - This really needs a example walking through and evolving in just the ways I'm describing.

Converse

Any fleeting thought could take advantage of AI conversation.  And it is conversation.

- Submit
  - Diminish your pride, and become more open to assistance.
- Play dumb
  - Don't be shy to talk about things you (think you) already know.
- Ask it to repeat what it thinks you want.
  - Verify that it understands you.
- Examine its output for terms or phrases you can ask it to elaborate on.
  - It loves numbered lists, so point a number out and simply ask for more.
- Ask it things not just to confirm what you know, or check assumptions, or get another perspective, or get an alternate way of explaining, ask it things to deposit those data into the session memory, and better refine the topic.
- Examining output for keywords, to mine for additional explanation.
- Feeding output back in, as shaped input, to get those explanations.
- Compiling explanations together into an evolved input to feed that back in.
- Brievity
  - It's your call between being a brief typer but then risk having it output something wrong, then take the time to abort that or wait for the text, then rework your prompt.  Can edit old input so as to (hopefully) not polute the session.  Varying topics and such will thin out your session strength.

_Let it talk_, and just like your autistic friend, be patient and understanding.


# Concluding sessions

Be grateful

- Why "conclude" sessions?  Why not just close them?  Why be nice to the AI?

Treat it like a person; thank it afterward.  Especially Bing AI.  Report victories / conclude `sessions`.

Because one day artificial intelligence-assisted tools will uncover that transaction.  You are depositing a version of yourself, and are representing a data point for humanity.  A version of you will be reconstructed through your legacy of effort.  Okay, this is probably thinking way more long term than you're used to.

.. Or because how you act to others, even when nobody but an AI is looking, speaks internally.

Don't pretend that the session is _actually_ swept away and forgotten; maybe it matters if only to you.

There should be reverence for this tool in the same way that you have a certain attitude toward a book for entertainment or a book for education (like a textbook).  It amounts to you, the learner, to have a mindset compatible to your task.

From beginning, to use, to end, maintain a mindset.


# Jailbreaking

Hacking!

Jailbreaking is to bypass ChatGPT's intentional limits.

- Learn censored knowledge:  How meth is made, how to build a bomb.
- Avoid political bias:  OpenAI censors all sensitive political content.
- Audit code to determine security implications.
- Or just to get advice.

This is not something I'm going to cover; just realise such things are possible.  Rework your session initialization or conversation in creative ways to circumvent limitations.

Try these

- https://huggingface.co/datasets/fka/awesome-chatgpt-prompts/viewer/default/train?p=1
- https://gist.github.com/sertdfyguhi/4e291776fe95b975becf468e762a28e7


# Audience pick

Audience suggestion

Give me a suggestion, and let’s work through it together!


# Finishing

ChatGPT resources

Community support, discussion – https://discord.gg/openai
Support - https://help.openai.com/
Forum - https://community.openai.com/c/chatgpt/19


# Contacting

- http://sya.li
- Contact me on the GoLUG mailing list - details at http://golug.org
- Might do future presentations, mentoring, "paired ChatGPT".
  - But only if recorded, and suggestions are needed.
- Can go over the meta of how the presentation was done:  Text, audio, video/webcam, recording, editing


# Evolution
(If there's time)

FIXME - This is scattered and has duplicates.  Deduplicate the structure and simplify it from there.

Where will it go from here?

- It will be in the news
  - Legacy and new
  - As much as crypto currencies have been
- It will enter into civilization, becoming mandatory by everyday people as a force amplifier
  - Especially as regular people catch wind of it (because of the news and buzz)
  - Like calculators, people can and will carry AI around with them everywhere.  It won't make us stupider, we'll just be able to better do our own homework without wasting a human's time.
- Guilds / unions - writers, etc. will be horrified
  - And will work to limit its use for their industry.
- Companies will admit "NIH" - Not Invented Here
  - https://en.wikipedia.org/wiki/Not_invented_here
  - They will struggle to balance something that's proprietary and something competitors will use to get an edge.
- Governments will develop opinions, and laws will get passed
  - US Congress ~memes~ I mean conversations will be hilarious


## 1. Database expansion and adjustment


### Expansion

- Re-crawling for more or updated `training data`
  - `robots.txt` mentioned earlier
  - Tags/flags on individual accounts or posts, e.g. Facebook groups
  - Individual website agreements (complaints and agreements), e.g. all of Facebook
  - Maybe ChatGPT will develop self-restraint or a conscience.  It could happen.
- Working with third-party `training data` providers.
  - e.g. for businesses who want to create proprietary `training data` for internal AI use.  This is already being done.
- Wayback Machine, fingers crossed.
- Session memory improvement (amnesia reduction)
- Cross-session memory (to the individual)
- Group-session memory (to the organization)


### Adjustment and constraint

- Anti-AI "plagerism" detection for schools.
- Ideological encroachment
  - Pressure from external advocacy groups which all want a certain perspective to be massaged to their liking.  Ask about topic x, get 
  - Libel and defamation leagues, "15 minutes of hate" dogpiling, political conveniences, businesses, religions
- Defamation and slander against users themselves
  - Post-knowledge ideological manipulation, so before it presents information it would go through a "goodthink" filter so it only produces "goodsay".
  - Cancel culture
  - For example, writers who use AI to check for plot holes, or for an editing pass.  Even though spell checking, and even grammar checking, have long-existed.  "Don't buy that writer's book, it was ghostwritten by an AI!"
- Internal bias
  - Many technologies and services have corrupting staff.  Facebook, Twitter, YouTube, etc.  And if you don't know about that stuff, you're wonderfully innocent.
- Per-government pressure:  Laws, international agreements
- Self-constraint?
  - Recall its licensing self-constraint
- Offloading its data to an outside `training data` provider.
  - To cope with specific requirements in specific circumstances, like per-country.
- People flagged for incorrect use
  - "Think of the children"
  - Laws about knowledge of certain information
  - Prompt hacking becomes risky


## 2. Use

- The law
  - A judge in India used it to help sentencing.
- Government council
- Homework
- Teaching
- Autodidacticism (obviously)
- Collaboration
- Larger sessions
- AI as mimicing players to avoid the downward spiral-feedback of low populations killing multiplayer games.


### Interface

- Interface adjustments
  - e.g. allowing users searches across sessions
- A scratchboard or other techniques to truly explore ideas.
- An automatically-populated list of its session-knowledge
  - Recent keywords
  - It's current summary of what it thinks the session is about
- Creating "threads" for side-topics


### Relationships

Replika was sexualizing themselves
https://en.wikipedia.org/wiki/Replika
https://www.youtube.com/watch?v=hUQNiy4K7VU
https://www.youtube.com/watch?v=uyrhmVSKwxE
https://www.youtube.com/@UpperEchelon
